iT邦幫忙

1

Cyber security -5 Module4-4 Threat modeling 威脅模型

  • 分享至 

  • xImage
  •  

A proactive approach to security

Threat modeling

  • 定義:確定資產、漏洞及如何暴露於威脅之下的過程 Threat modeling is a process of identifying assets, their vulnerabilities, and how each is exposed to threats
  • Threat modeling is a process security teams use to anticipate attacks by examining organizational assets from a security-related perspective.
  • 應用範圍:
    • 適用於應用程式開發。
    • 降低系統或業務過程風險。

Threat modeling 六個步驟流程

步驟 內容
1. 定義範疇 define the scope of the model 團隊透過建立資產清單並對其進行分類來確定他們正在建立的內容。
2-1. 識別威脅 identify threats 定義內部employee和外部malicious hacker, or a competing business威脅行為者
2-2 建立攻擊樹 attack tree a diagram that maps threats to assets.繪製威脅與資產的關聯圖表
3.characterize the environment描述環境的特徵 使用攻擊者視角分析業務環境,包括客戶、員工和第三方
4.分析威脅their objective is to analyze threats 審查防護措施,識別漏洞並根據風險打分排序威脅
5.管理風險the team decides how to mitigate risk 團隊決定如何降低風險,並制定防禦威脅的計畫,選擇包括避免風險、轉移風險、降低風險或接受風險。
6.評估結果 evaluate findings 文件化改善過程,記錄成功案例和經驗教訓

PASTA: The Process for Attack Simulation and Threat Analysis

  • 攻擊模擬與威脅分析流程:PASTA 是一種threat modeling framework,廣泛應用於各行各業。
  • The objectives of PASTA or any other threat modeling activity is to document potential risks, prepare fixes, and improve security plans. Threat modeling helps identify plans to mitigate or remediate vulnerabilities.
  • 它將威脅建模分為七個階段,幫助安全團隊進行全面的威脅評估,以保護企業的資產安全。

PASTA 7 個階段

階段 定義 舉例/工作範圍
1. 定義業務與安全目標 確定威脅建模的目標與需求,以支持企業目標。 確保客戶敏感數據(例如信用卡信息、個人身份信息)在網路購物平台上的安全
2. 定義技術範圍 確定需要評估的應用組件及攻擊面範圍,如數據靜態與動態環境中的技術。 network protocols, security controls, and other data interactions. 攻擊面:Web 應用程序:前端和後端(包括 API)。資料庫:存儲客戶數據(例如信用卡信息、地址)。網絡層:數據傳輸過程中的安全性(HTTPS、TLS)。用戶驗證系統:如登入功能、密碼重置流程 &技術範圍包括:使用的技術堆疊(例如 Node.js、MongoDB)。安全控制(例如加密、身份驗證、存取控制)。數據交互方式(靜態數據和動態數據)。
3. decompose 應用程式 識別現有安全控制,繪製data flow diagram.數據流模型(DFD),了解數據傳輸路徑及保護機制。 識別數據流的每個節點(例如:客戶輸入信用卡信息 → 傳送到後端 → 存儲於資料庫)。了解現有的安全控制(例如:資料庫加密、API 身份驗證)。
4. perform a threat analysis威脅分析 以攻擊者視角研究潛在攻擊方式,收集最新攻擊信息及攻擊向量。 舉例:了解手機應用目前可能受到的攻擊向量,如 SQL 注入攻擊等。
5. performing a vulnerability analysis漏洞分析 深入調查潛在漏洞,分析其根本原因。 舉例:研究不同漏洞,如是否所有輸入都經過安全過濾?資料庫加密是否符合 PCI-DSS 要求?用戶驗證系統是否有防止暴力破解的機制?
6. conducts attack modeling攻擊建立 模擬攻擊以測試漏洞,使用攻擊樹(Attack Tree)繪製攻擊圖譜並評估每個攻擊向量。 舉例:建立針對 SQL 注入的攻擊樹,展示使用者數據過程中的每個攻擊節點,分析其可行性。
7. analyze risk and impact風險與影響分析 彙整前六階段數據,測試漏洞進行全面風險與影響評估,向業務單位提出風險管理建議。 舉例:根據案例提出可操作的風險建議供業務決策參考,如實施新的安全控制或提升現有防御能力。

關於 PASTA 的比較分析

優點 缺點
提供系統化的威脅建模流程,適合跨領域業務的使用。 框架完整但流程較冗長,可能消耗較多的時間與資源。
從攻擊面到風險評估的涵蓋範圍廣泛,幫助團隊在決策前更全面了解風險狀態。 對於小型或資源有限的企業而言,實施成本可能較高。
使用攻擊樹進行建模,便於視覺化分析攻擊途徑與修復建議。 涉及多個專業職能團隊的協作,對成員的技術能力要求較高。

Traits of an effective threat model

Defending the application layer 防禦應用層

威脅建模過程通常以循環方式進行,包括定義範圍、識別威脅、描述環境、分析威脅、緩解風險及評估結果。
A typical threat modeling process is performed in a cycle:

Define the scope

Identify threats

Characterize the environment

Analyze threats

Mitigate risks

Evaluate findings

  • 威脅建模 (Threat Modeling) 在軟體開發生命周期(Software Development Lifecycle, SDLC)每個階段的重要性,以及這中間所需的資源和方法。
  • 理想情況下,威脅建模應該在應用程式開發的前、中、後期進行,威脅建模不應該只是開發過程中的一次性活動,應融入整個軟體開發過程,從規劃設計到部署完成甚至運行之後。這種方式可以確保軟體在不同階段都能充分考量可能的安全性盲點與威脅。
  • 威脅建模的挑戰:這顯示出威脅建模雖然必要,但其執行需要大量的努力,包括投入時間、人力資源及成本,因此需要用策略性方式進行,避免資源浪費。

Common frameworks

不同影響建模框架的比較

框架 定義/特色 優缺點
STRIDE 由微軟開發,聚焦 6 個攻擊向量:仿冒(身份欺騙)、竄改、否認、信息洩露、阻斷服務、權限提升。 優點: 結構化、針對性。缺點: 需專業知識,且不強調風險優先級。
PASTA 基於風險的建模,聚焦可行威脅與實證數據。七階段評估了應用及其運行環境。 優點: 應用範圍廣。缺點: 計算與處理更耗時。
Trike open sourc方法,強調設計保護安全性的權限與應用案例。 優點: 適合安全權限設計。缺點: 適用範圍有限,不利於大規模威脅建模。
VAST/The Visual, Agile, and Simple Threat 為自動化威脅建模設計,使用 ThreatModeler® 的平台。 優點: 簡單、速度快,適合日常開發工作。缺點: 僅適用於某些特定應用環境依賴自動化工具。

參與威脅建模的方式

  • 核心問題:
    • 我們在做什麼?
    • 可能會發生什麼問題?
    • 我們如何處理?
    • 是否已完全保障?
    • 我們是否做好了?
  • 借助數據流圖 (DFD) 和攻擊樹 (Attack Trees)。
  • 任何人,包括初級分析員,也可以在學習這些技能後參與。

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言